package com.sfpay.merchant.auth.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.sfpay.merchant.auth.entity.system.SysDictData;
import com.sfpay.merchant.auth.entity.system.SysDictType;
import com.sfpay.merchant.common.core.domain.Ztree;

import java.util.List;

/**
 * <p>
 * 字典类型表 服务类
 * </p>
 *
 * @author fangchen
 * @since 2022-08-17
 */
public interface ISysDictTypeService extends IService<SysDictType> {

    List<SysDictData> selectDictDataByType(String dictType);

    List<SysDictType> selectDictTypeList(SysDictType dictType);

    String checkDictTypeUnique(SysDictType dict);

    int insertDictType(SysDictType dict);

    Object selectDictTypeById(Long dictId);

    int updateDictType(SysDictType dict);

    void deleteDictTypeByIds(String ids);

    /**
     * 加载字典缓存数据
     */
    public void loadingDictCache();

    /**
     * 清空字典缓存数据
     */
    public void clearDictCache();

    /**
     * 重置字典缓存数据
     */
    public void resetDictCache();

    List<SysDictType> selectDictTypeAll();

    SysDictType selectDictTypeByType(String dictType);

    List<Ztree> selectDictTree(SysDictType sysDictType);
}
